Communications networks use a transmission medium to transmit information in the form of computer data, voice, music, video, etc., from one station to another. The communications medium may be a wired link, a fiber optic link, or a wireless link. The wireless link may include, but is not limited to, radio frequency, infrared, laser light, and microwave. The network may, in fact, use a combination of different communications links.
With the exception of a small number of networks that use dedicated communications links between each station, most information networks use a shared transmission medium to carry the transmitted information. Examples of information networks using a shared transmission medium include: Ethernet, token ring, and wireless Ethernet (IEEE 802.11).
However, by sharing a communications medium between multiple stations, there are situations (extended busy times) that arise when stations are required to wait a significant amount of time before they are able to transmit their data. Additionally, situations (collisions) exist when simultaneous transmissions from different stations occur and result in the mutual destruction of the transmissions. Such situations are undesirable in providing quality of service (QoS) to multimedia data transfers and in making efficient use of scarce spectrum on a wireless medium.
For some applications, such as voice telephony, video tele-conferencing, and other real-time, bi-directional, interactive applications, extended transfer times can severely and rapidly degrade the performance of the applications to a level that is unacceptable. For example, in voice telephony applications, if the delay between one user speaking and another user listening is greater than a few milliseconds, the delay becomes noticeable to the users and the users' satisfaction level for the telephone connection begins to drop.
One way to ensure that applications requiring a low maximum network latency receive the level of service that they require is to implement some form of QoS transfers of data traffic between stations. In many networks with QoS transfers, communications traffic in a network are partitioned into multiple categories and the categories are parameterized or prioritized according to their specific performance requirements. For example, traffic carrying a telephone conversation between two users will be given a higher priority than traffic carrying data for a file transfer between two computers. By creating categories for the traffic, parameterizing and prioritizing the different categories and ensuring that traffic of higher QoS demands or higher priority receives better service, these networks offer and meet performance guarantees.
In wireless local area networks (LANs) specified by the IEEE 802.11 technical standard, each different category of network traffic is required to contend for access to the shared medium. The technical standard specifies a technique using a randomly selected backoff time and a backoff counter to ensure fair access to the shared medium. However, because there are many possible categories of network traffic and the backoff counter requires frequent updates, hardware rather than software has been the preferred implementation method for the backoff counters. This is due to the fact that the frequent updates to the backoff counters places too great of a computational burden on the processor of a network station when the backoff counters implemented in software.
Unfortunately, a maximum number of different traffic categories have not been specified by the IEEE technical standard. Therefore, a particular implementation with a fixed number of hardware backoff counters cannot be assured of having enough backoff counters to support all of the different traffic categories. Additionally, a large number of hardware backoff counters can be expensive in terms of integrated circuit real estate. A need has therefore arisen for a technique that can support a variable number of different traffic categories without placing an undue computational burden on the processor of a network station.